(function($) {
	var _INTERVAL_TIME = 500, //动画的默认时间间隔ms.
	_TIMER_ID = null, //定时器指针.
	_TITLE_TEMP = null, //临时存储title的值,避免使用document.title的方式存储时丢失最后的空格.
	_TITLES_QUEUE = null, //切换标题时，临时存储要显示的几个标题.
	_ORIGINAL_TITLE = document.title, //原始标题.

	clearAnimate = function() {//取消动画显示.
		if(_TIMER_ID) {
			clearInterval(_TIMER_ID);
		}
		document.title = _ORIGINAL_TITLE;
		_TITLE_TEMP = null;
		_TITLES_QUEUE = null;
	}, 
	scrollTitle = function(intervalTime) {//滚动tilte.
		_TIMER_ID = setInterval(function() {
			var title = _TITLE_TEMP ? _TITLE_TEMP : document.title;
			if(escape(title.substring(0, 1)).length < 5) {
				document.title = _TITLE_TEMP = title.substring(2, title.length) + title.substring(0, 2);
			} else {
				document.title = _TITLE_TEMP = title.substring(1, title.length) + title.substring(0, 1);
			}
		}, intervalTime);
	}, 
	switchTitle = function(intervalTime) {//切换title.
		_TIMER_ID = setInterval(function() {
			if(_TITLES_QUEUE) {
				document.title = _TITLES_QUEUE[0];
				_TITLES_QUEUE.push(_TITLES_QUEUE.shift(_TITLES_QUEUE[0]));
			}
		}, intervalTime);
	};
	//---------------------------------------------------------------------------------------------------

	$.extend({
		/**
		 * 为网页的title实现动画功能.
		 */
		animateTitle : {
			/**
			 * 滚动效果.
			 * @param {Number} [intervalTime]	: 滚动时间间隔(ms).
			 */
			scroll : function(intervalTime) {
				clearAnimate();
				scrollTitle(intervalTime || _INTERVAL_TIME);
			},
			/**
			 * 多个标题切换效果.
			 * @param {Object} intervalTime	:	切换标题的时间间隔(ms).
			 * @param {Object} isShowTitle	:	是否显示初始标题.
			 *
			 * @param {String} arguments	:	多个标题列表.
			 */
			switches : function(intervalTime, isShowTitle) {
				clearAnimate();
				_TITLES_QUEUE = Array.prototype.slice.call(arguments, 2);
				isShowTitle && _TITLES_QUEUE.unshift(document.title);
				switchTitle(intervalTime || _INTERVAL_TIME);
			},
			/**
			 * 取消所有标题并显示回原标题.
			 */
			clear : function() {
				clearAnimate();
			}
		}
	});
	/*
        $.animateTitle.scroll(300);
        $.animateTitle.switches(300,true,'title2','title3');
     */
})(jQuery);